package vue.commun;

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;

import vue.eleve.RechercherEleve;


import configuration.Constante;
import ctr.commun.CommunGest;
import ctr.eleve.GestRechercherEleve;


public class JPanRechercherEleve extends JPanel{

	private static final long serialVersionUID = -8259905260255616984L;
	private JTextField saisiRechercheNomEleve, saisiRecherchePrenomEleve;
	private JComboBox saisiRechercheGradeEleve;
	private JComboBox saisiRechercheStage;
	
	public JPanRechercherEleve(RechercherEleve jPanRecherche){
		CommunGest communGest = new CommunGest();

		// Creation du pannel de saisie pour la recherche
		JPanel panelSaisiRecherche = new JPanel();
		panelSaisiRecherche.setLayout(new GridLayout(3,1,3,3));

		// Verifie si les infos ont deja ete rempli et les affecte, sinon on reinitialise. 
		if (saisiRechercheNomEleve == null ){
			saisiRechercheNomEleve = new JTextField(15);		
		}
		if (saisiRecherchePrenomEleve == null ){
			saisiRecherchePrenomEleve = new JTextField(15);
		}
		if (saisiRechercheStage == null ){
			saisiRechercheStage = new JComboBox(communGest.getListeStage().toArray());
		}
		// Ajout des composants pour la recherche.
		panelSaisiRecherche.add(saisiRechercheNomEleve);
		panelSaisiRecherche.add(saisiRecherchePrenomEleve);
		panelSaisiRecherche.add(saisiRechercheStage);
		
		// Creation du panneau des label pour la recherche
		JPanel panelLabelRecherche = new JPanel();
		panelLabelRecherche.setLayout(new GridLayout(3,1,3,3));
		panelLabelRecherche.add(new JLabel("Nom : "));
		panelLabelRecherche.add(new JLabel("Prenom : "));
		panelLabelRecherche.add(new JLabel("Stage : "));
		
		// Creation du bouton rechercher.
		JButton jButtonRechercherEleve = new JButton("Rechercher");
		jButtonRechercherEleve.setName(Constante.BOUTON_ELEVE_RECHERCHE);
		jButtonRechercherEleve.addActionListener(new GestRechercherEleve(this, jPanRecherche));
		
		JPanel panelBoutonRecherche = new JPanel();
		panelBoutonRecherche.add(jButtonRechercherEleve);
		
		// Creation du panel de recherche
		this.setBorder(new TitledBorder("Recherche"));
		this.setLayout(new GridBagLayout());
		
		// Mise en forme des composants dans le panel.
		GridBagConstraints gbc = new GridBagConstraints();
		gbc.weightx = 0;
		gbc.weighty = 0; 
		gbc.gridwidth = 1;
		gbc.gridheight = 1;
		
		gbc.gridx = 0;
		gbc.gridy = 0;
		gbc.fill = GridBagConstraints.VERTICAL;
		this.add(panelLabelRecherche,gbc);
		
		gbc.gridx = 1;
		gbc.gridy = 0;
		gbc.fill = GridBagConstraints.VERTICAL;
		this.add(panelSaisiRecherche,gbc);
		
		gbc.gridx = 0;
		gbc.gridy = 2;
		gbc.gridwidth = 2;
		gbc.gridheight = 2;
		gbc.fill = GridBagConstraints.CENTER ;
		this.add(panelBoutonRecherche,gbc);
	}
	
	public JTextField getSaisiRechercheNomEleve() {
		return saisiRechercheNomEleve;
	}

	public JTextField getSaisiRecherchePrenomEleve() {
		return saisiRecherchePrenomEleve;
	}

	public JComboBox getSaisiRechercheGradeEleve() {
		return saisiRechercheGradeEleve;
	}

	public JComboBox getSaisiRechercheStage() {
		return saisiRechercheStage;
	}
}
